namespace Battle
{
	public partial class BattleFactory
	{
		public Fsm CreateTowerFsm()
		{
			Fsm fsm = new Fsm ();
			fsm.AddState (FsmState.Dead, new DeathState ());
			
			fsm.AddTransition (new AnyToDeath ());
			
			BaseState idle = new IdleState ();
			idle.AddTransition (new IdleToAttack ());
			fsm.AddState (FsmState.Idle, idle);
			
			BaseState attack = new AttackState ();
			attack.AddTransition (new AttackToIdle ());
			fsm.AddState (FsmState.Attack, new AttackState ());
			
			fsm.SetDefault(FsmState.Idle);

			return fsm;
		}
	}
}
